from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能

class 主动技能(主动技能):
    # 2023.11.16,国服特色加强
    国服特色 = 1.065

class 技能0(被动技能):
    名称 = '基础精通'
    倍率 = 1.0
    所在等级 = 1
    等级上限 = 200
    等级精通 = 110
    学习间隔 = 1
    关联技能 = ['基本攻击']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(主动技能):
    名称 = "神光冲击"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 4
    MP = [30, 300]
    无色消耗 = 0
    data0 = [0, 3084, 3396, 3709, 4020, 4333, 4647, 4960, 5272, 5585, 5897, 6211, 6523, 6838, 7149, 7462, 7775, 8087, 8400, 8712, 9026, 9339, 9652, 9963, 10276, 10589, 10903, 11216, 11529, 11841, 12154, 12467, 12780, 13091, 13404, 13717, 14030, 14344, 14656, 14969, 15281, 15596, 15907, 16220, 16532, 16845, 17158, 17471, 17784, 18097, 18411, 18724, 19035, 19347, 19660, 19974, 20287, 20599, 20912, 21224, 21537, 21850, 22163, 22476, 22788, 23102, 23414, 23727, 24039, 24353, 24667]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能2(主动技能):
    名称 = "神光连斩"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 5
    MP = [30, 300]
    无色消耗 = 0
    data0 = [0, 2046, 2255, 2460, 2667, 2877, 3084, 3292, 3500, 3708, 3916, 4122, 4330, 4538, 4746, 4953, 5161, 5370, 5576, 5785, 5992, 6199, 6408, 6615, 6823, 7031, 7237, 7445, 7653, 7861, 8070, 8278, 8485, 8692, 8900, 9107, 9316, 9523, 9730, 9939, 10145, 10353, 10561, 10769, 10977, 11185, 11393, 11600, 11807, 12015, 12223, 12431, 12637, 12847, 13054, 13259, 13469, 13676, 13883, 14092, 14299, 14507, 14715, 14922, 15129, 15337, 15545, 15752, 15962, 16169, 16376]
    hit0 = 1
    data1 = [0, 2046, 2255, 2460, 2671, 2877, 3084, 3293, 3500, 3708, 3916, 4122, 4330, 4538, 4746, 4953, 5161, 5370, 5578, 5785, 5992, 6200, 6408, 6615, 6824, 7031, 7237, 7446, 7653, 7861, 8070, 8278, 8486, 8692, 8900, 9108, 9316, 9523, 9731, 9939, 10145, 10354, 10561, 10769, 10978, 11185, 11394, 11601, 11807, 12016, 12223, 12431, 12639, 12847, 13054, 13263, 13469, 13676, 13885, 14092, 14300, 14508, 14715, 14923, 15130, 15337, 15546, 15753, 15962, 16170, 16376]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能3(被动技能):
    名称 = '天使光翼'
    所在等级 = 15
    等级上限 = 20
    学习间隔 = 2
    等级精通 = 10
    冷却关联技能 = ['所有']
    非冷却关联技能 = ['信仰聚合：神光惩戒', '神圣意志：大天使降临', '启示录：末日救赎']

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 <= 10:
            return round(1.00 + 0.01 * self.等级, 5)
        else:
            return round(0.90 + 0.02 * self.等级, 5)

    def CD缩减倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return 0.95


class 技能4(被动技能):
    名称 = '天使降临'
    所在等级 = 15
    等级上限 = 20
    学习间隔 = 2
    等级精通 = 10

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 <= 10:
            return round(1.08 + 0.01 * self.等级, 5)
        else:
            return round(0.98 + 0.02 * self.等级, 5)


class 技能5(主动技能):
    名称 = "圣盾突击"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [40, 400]
    无色消耗 = 0
    data0 = [0, 1328, 1462, 1598, 1733, 1867, 2002, 2136, 2271, 2405, 2541, 2675, 2811, 2945, 3078, 3214, 3349, 3484, 3619, 3751, 3887, 4022, 4158, 4292, 4427, 4561, 4695, 4831, 4965, 5100, 5235, 5369, 5505, 5640, 5774, 5909, 6045, 6179, 6313, 6448, 6582, 6718, 6853, 6987, 7122, 7256, 7391, 7526, 7662, 7795, 7930, 8065, 8199, 8335, 8469, 8603, 8739, 8873, 9007, 9142, 9278, 9412, 9548, 9683, 9816, 9951, 10086, 10221, 10355, 10491, 10624]
    hit0 = 4
    TP成长 = 0.1
    TP上限 = 7


class 技能6(主动技能):
    名称 = "神光喷涌"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [50, 500]
    无色消耗 = 0
    data0 = [0, 1686, 1857, 2029, 2200, 2370, 2541, 2711, 2883, 3054, 3225, 3395, 3567, 3739, 3910, 4080, 4251, 4423, 4592, 4764, 4934, 5106, 5277, 5449, 5622, 5794, 5963, 6135, 6306, 6478, 6648, 6818, 6989, 7161, 7332, 7503, 7674, 7844, 8016, 8187, 8359, 8528, 8700, 8871, 9042, 9213, 9383, 9555, 9725, 9897, 10069, 10239, 10410, 10582, 10754, 10925, 11095, 11265, 11437, 11609, 11779, 11951, 12122, 12294, 12465, 12636, 12808, 12976, 13148, 13319, 13491]
    hit0 = 1
    data1 = [0, 1686, 1857, 2029, 2200, 2370, 2541, 2711, 2883, 3054, 3225, 3395, 3567, 3739, 3910, 4080, 4251, 4423, 4592, 4764, 4934, 5106, 5277, 5449, 5622, 5794, 5963, 6135, 6306, 6478, 6648, 6818, 6989, 7161, 7332, 7503, 7674, 7844, 8016, 8187, 8359, 8528, 8700, 8871, 9042, 9213, 9383, 9555, 9725, 9897, 10069, 10239, 10410, 10582, 10754, 10925, 11095, 11265, 11437, 11609, 11779, 11951, 12122, 12294, 12465, 12636, 12808, 12976, 13148, 13319, 13491]
    hit1 = 4
    TP成长 = 0.1
    TP上限 = 7

    def 小型喷涌神光攻击力(self):
        return int(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级)*0.1 * self.技攻 * self.倍率)


class 技能7(主动技能):
    名称 = "神光盾击"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [60, 600]
    无色消耗 = 0
    data0 = [0, 1549, 1706, 1863, 2020, 2176, 2333, 2491, 2648, 2807, 2963, 3121, 3276, 3433, 3590, 3748, 3906, 4062, 4221, 4376, 4534, 4691, 4848, 5005, 5163, 5319, 5476, 5634, 5791, 5948, 6106, 6262, 6419, 6576, 6734, 6890, 7049, 7206, 7363, 7519, 7675, 7833, 7990, 8148, 8307, 8462, 8619, 8776, 8933, 9090, 9247, 9406, 9561, 9720, 9876, 10034, 10192, 10348, 10504, 10661, 10819, 10976, 11134, 11290, 11447, 11606, 11762, 11919, 12076, 12234, 12391]
    hit0 = 3
    data1 = [0, 1589, 1749, 1911, 2073, 2233, 2394, 2554, 2715, 2877, 3038, 3200, 3362, 3522, 3683, 3844, 4006, 4166, 4327, 4489, 4649, 4811, 4973, 5134, 5295, 5457, 5617, 5777, 5939, 6099, 6262, 6424, 6585, 6746, 6906, 7068, 7228, 7389, 7551, 7712, 7874, 8035, 8196, 8357, 8519, 8679, 8840, 9002, 9161, 9323, 9486, 9646, 9808, 9970, 10130, 10290, 10451, 10612, 10774, 10936, 11097, 11258, 11419, 11580, 11741, 11902, 12063, 12224, 12386, 12547, 12708]
    hit1 = 3
    TP成长 = 0.1
    TP上限 = 7


class 技能8(主动技能):
    名称 = "烈光"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [60, 600]
    无色消耗 = 0
    data0 = [0, 4838, 5329, 5821, 6311, 6801, 7292, 7784, 8274, 8765, 9257, 9748, 10239, 10728, 11219, 11711, 12201, 12693, 13183, 13674, 14166, 14656, 15147, 15637, 16127, 16621, 17111, 17601, 18092, 18584, 19075, 19566, 20054, 20547, 21038, 21529, 22019, 22510, 23001, 23493, 23982, 24474, 24964, 25455, 25948, 26437, 26928, 27419, 27910, 28403, 28891, 29382, 29874, 30364, 30855, 31346, 31837, 32329, 32820, 33309, 33801, 34291, 34783, 35273, 35765, 36256, 36746, 37239, 37727, 38218, 38709]
    hit0 = 1
    data1 = [0, 4854, 5346, 5839, 6328, 6821, 7314, 7806, 8299, 8792, 9284, 9777, 10269, 10761, 11253, 11746, 12239, 12730, 13223, 13715, 14207, 14701, 15193, 15685, 16179, 16670, 17161, 17655, 18147, 18640, 19132, 19625, 20116, 20609, 21101, 21594, 22087, 22578, 23072, 23563, 24056, 24548, 25041, 25533, 26025, 26518, 27010, 27502, 27995, 28488, 28979, 29474, 29963, 30456, 30948, 31441, 31933, 32425, 32919, 33409, 33903, 34395, 34889, 35380, 35873, 36366, 36858, 37349, 37841, 38335, 38827]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能9(主动技能):
    名称 = "神光闪耀"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 16
    MP = [70, 700]
    无色消耗 = 1
    data0 = [0, 1183, 1304, 1425, 1546, 1667, 1787, 1907, 2026, 2147, 2266, 2387, 2508, 2627, 2749, 2869, 2989, 3109, 3230, 3349, 3469, 3589, 3710, 3829, 3951, 4073, 4190, 4313, 4433, 4553, 4673, 4793, 4912, 5034, 5154, 5274, 5395, 5514, 5634, 5753, 5876, 5995, 6115, 6236, 6356, 6475, 6597, 6717, 6836, 6958, 7077, 7197, 7319, 7440, 7559, 7680, 7799, 7920, 8041, 8160, 8280, 8400, 8520, 8641, 8763, 8882, 9002, 9122, 9242, 9363, 9483]
    hit0 = 10
    data1 = [0, 5078, 5596, 6110, 6627, 7142, 7656, 8174, 8689, 9202, 9719, 10233, 10750, 11266, 11780, 12296, 12809, 13327, 13842, 14356, 14873, 15387, 15904, 16421, 16934, 17450, 17966, 18482, 18997, 19511, 20028, 20542, 21056, 21574, 22089, 22604, 23120, 23634, 24151, 24666, 25181, 25696, 26210, 26729, 27244, 27759, 28275, 28789, 29305, 29821, 30337, 30851, 31367, 31883, 32397, 32911, 33428, 33943, 34458, 34975, 35490, 36004, 36520, 37037, 37552, 38068, 38583, 39098, 39614, 40129, 40644]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1
    技能施放时间 = 2

    def 装备护石(self, char):
        self.倍率 *= 1.33


class 技能10(主动技能):
    名称 = "神光闪影击"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 18
    MP = [70, 700]
    无色消耗 = 1
    data0 = [0, 1347, 1481, 1619, 1757, 1892, 2027, 2168, 2303, 2438, 2574, 2714, 2849, 2985, 3120, 3261, 3396, 3531, 3668, 3807, 3941, 4077, 4215, 4353, 4487, 4625, 4761, 4901, 5034, 5172, 5307, 5447, 5580, 5720, 5855, 5993, 6131, 6266, 6402, 6539, 6677, 6812, 6950, 7085, 7223, 7359, 7496, 7629, 7770, 7905, 8042, 8178, 8316, 8451, 8589, 8724, 8862, 8999, 9137, 9270, 9410, 9545, 9681, 9819, 9956, 10091, 10229, 10365, 10502, 10638, 10775]
    hit0 = 10
    data1 = [0, 5974, 6579, 7186, 7792, 8398, 9004, 9610, 10218, 10824, 11429, 12035, 12641, 13247, 13854, 14461, 15065, 15671, 16277, 16883, 17490, 18097, 18702, 19308, 19914, 20521, 21127, 21733, 22339, 22944, 23550, 24157, 24764, 25370, 25976, 26582, 27187, 27793, 28400, 29006, 29612, 30218, 30823, 31430, 32037, 32642, 33249, 33855, 34462, 35068, 35673, 36279, 36884, 37491, 38098, 38704, 39311, 39916, 40522, 41127, 41734, 42340, 42947, 43552, 44158, 44765, 45370, 45977, 46583, 47190, 47795]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5


class 技能11(主动技能):
    名称 = "神罚之锤"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 25
    MP = [80, 800]
    无色消耗 = 1
    data0 = [0, 22991, 25323, 27654, 29989, 32320, 34653, 36986, 39318, 41650, 43984, 46315, 48647, 50981, 53312, 55645, 57977, 60310, 62642, 64976, 67306, 69640, 71973, 74305, 76637, 78971, 81301, 83635, 85968, 88298, 90632, 92965, 95296, 97629, 99963, 102293, 104627, 106960, 109291, 111624, 113958, 116289, 118622, 120955, 123284, 125619, 127952, 130283, 132616, 134950, 137280, 139614, 141947, 144278, 146612, 148945, 151275, 153610, 155941, 158272, 160607, 162940, 165271, 167604, 169936, 172268, 174602, 176932, 179265, 181598, 183930]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.36


class 技能12(主动技能):
    名称 = "神光之跃"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [90, 900]
    无色消耗 = 2
    data0 = [0, 38570, 42483, 46397, 50309, 54223, 58136, 62048, 65962, 69875, 73785, 77700, 81612, 85527, 89439, 93353, 97266, 101178, 105091, 109004, 112917, 116830, 120743, 124657, 128569, 132484, 136395, 140307, 144221, 148134, 152047, 155960, 159875, 163786, 167699, 171612, 175526, 179437, 183352, 187264, 191178, 195090, 199004, 202917, 206828, 210743, 214655, 218569, 222481, 226397, 230306, 234220, 238134, 242046, 245959, 249874, 253787, 257700, 261611, 265526, 269437, 273352, 277265, 281178, 285091, 289004, 292914, 296830, 300742, 304656, 308569]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.32


class 技能13(被动技能):
    名称 = '荣耀之光'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.105 + 0.015 * self.等级, 5)


class 技能14(主动技能):
    名称 = "信仰聚合：神光惩戒"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [300, 3000]
    无色消耗 = 5
    data0 = [0, 104074, 128206, 152338, 176472, 200604, 224736, 248869, 273002, 297136, 321268, 345401, 369533, 393666, 417800, 441931, 466065, 490199, 514331, 538464, 562595, 586729, 610861, 634994, 659129, 683260, 707393, 731525, 755659, 779791, 803923, 828058, 852190, 876323, 900454, 924588, 948721, 972853, 996988, 1021120, 1045252, 1069385, 1093518, 1117650, 1141782, 1165916, 1190050, 1214182, 1238314, 1262448, 1286580]
    hit0 = 1


class 技能15(主动技能):
    名称 = "圣盾裁决"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 25
    MP = [120, 1200]
    无色消耗 = 1
    data0 = [0, 30044, 33092, 36139, 39188, 42236, 45283, 48332, 51381, 54427, 57477, 60524, 63572, 66620, 69669, 72716, 75765, 78812, 81861, 84908, 87956, 91004, 94052, 97100, 100148, 103195, 106244, 109291, 112339, 115386, 118435, 121485, 124531, 127581, 130629, 133677, 136724, 139773, 142819, 145869, 148916, 151966, 155014, 158062, 161112, 164160, 167208, 170256, 173303, 176351, 179400]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.33
        self.CDR *= 0.90


class 技能16(主动技能):
    名称 = "破晓之光"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [140, 1400]
    无色消耗 = 2
    data0 = [0, 57297, 63110, 68924, 74735, 80549, 86363, 92175, 97988, 103801, 109611, 115426, 121239, 127051, 132865, 138678, 144490, 150303, 156118, 161929, 167742, 173556, 179368, 185180, 190992, 196805, 202619, 208432, 214245, 220057, 225871, 231685, 237496, 243309, 249123, 254935, 260747, 266560, 272374, 278187, 283999, 289810, 295626, 301438, 307250, 313064, 318877, 324689, 330502, 336316, 342128]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.19
        self.CDR *= 0.90


class 技能17(主动技能):
    名称 = "神光回旋斩"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [450, 4500]
    无色消耗 = 5
    data0 = [0, 90028, 99162, 108294, 117429, 126560, 135695, 144828, 153963, 163095, 172230, 181361, 190494, 199627, 208762, 217895, 227029, 236164, 245295, 254429, 263561, 272696, 281829, 290963, 300096, 309230, 318362, 327495, 336629, 345764, 354895, 364029, 373163, 382296, 391429, 400564, 409696, 418828, 427963, 437096, 446230, 455364, 464497, 473629, 482762, 491896, 501031, 510163, 519297, 528431, 537562]
    hit0 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 0.2*1.14*6


class 技能18(被动技能):
    名称 = '戒律'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


class 技能19(主动技能):
    名称 = "神圣信约"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [500, 5000]
    无色消耗 = 5
    data0 = [0, 9314, 10258, 11202, 12149, 13091, 14037, 14981, 15927, 16873, 17816, 18761, 19707, 20651, 21598, 22541, 23485, 24431, 25375, 26321, 27265, 28210, 29155, 30101, 31043, 31990, 32935, 33878, 34825, 35767, 36714, 37659, 38603, 39549, 40493, 41438, 42384, 43328, 44274, 45217, 46161, 47106, 48052, 48997, 49940, 50887, 51830, 52777, 53722, 54664, 55611]
    hit0 = 11

    是否有护石 = 1

    形态 = ["蓄力", "非蓄"]

    def 装备护石(self, char):
        pass

    # 抄的刃影75写法，不知道最后还需不需要再覆盖
    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        self.power0 = 1
        if 形态 == "非蓄":
            self.hit0 = 11
            if '神圣信约' in char.护石栏:
                self.power0 = 1.32
            else:
                形态 = "蓄力"
        if 形态 == "蓄力":
            self.hit0 = 11
            if '神圣信约' in char.护石栏:
                self.hit0 = 1
                self.power0 = (11+0.23)*1.32


class 技能20(主动技能):
    名称 = "神圣意志：大天使降临"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2000, 5000]
    无色消耗 = 10
    data0 = [0, 239666, 295241, 350817, 406391, 461966, 517541, 573116, 628690, 684266, 739840, 795414, 850990, 906566, 962140, 1017716, 1073289, 1128864, 1184440, 1240014, 1295589, 1351165, 1406739, 1462313, 1517890, 1573465, 1629038, 1684613, 1740188, 1795763, 1851339, 1906913, 1962488, 2018064, 2073636, 2129212, 2184788, 2240363, 2295938, 2351512, 2407088, 2462663, 2518238, 2573812, 2629386, 2684962, 2740536, 2796112, 2851687, 2907262, 2962836]
    hit0 = 1


class 技能21(被动技能):
    名称 = '超越之翼'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能22(主动技能):
    名称 = "神光耀世"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [960, 7200]
    无色消耗 = 7
    data0 = [0, 17129, 18867, 20603, 22340, 24077, 25814, 27553, 29291, 31029, 32766, 34504, 36240, 37978, 39715, 41454, 43191, 44931, 46668, 48405, 50143, 51879, 53617, 55355, 57093, 58829, 60567, 62304, 64043, 65780, 67519, 69256, 70994, 72732, 74469, 76207, 77944, 79680, 81418, 83157, 84894, 86632, 88369, 90108, 91845, 93583, 95320, 97059, 98795, 100533, 102271]
    hit0 = 4
    data1 = [0, 22836, 25154, 27469, 29788, 32104, 34421, 36736, 39055, 41371, 43688, 46005, 48324, 50638, 52956, 55272, 57590, 59905, 62223, 64540, 66856, 69172, 71490, 73807, 76123, 78441, 80758, 83074, 85391, 87708, 90024, 92342, 94659, 96974, 99292, 101608, 103927, 106241, 108560, 110875, 113193, 115508, 117827, 120144, 122460, 124777, 127094, 129411, 131728, 134045, 136360]
    hit1 = 1
    data2 = [0, 22836, 25154, 27469, 29788, 32104, 34421, 36736, 39055, 41371, 43688, 46005, 48324, 50638, 52956, 55272, 57590, 59905, 62223, 64540, 66856, 69172, 71490, 73807, 76123, 78441, 80758, 83074, 85391, 87708, 90024, 92342, 94659, 96974, 99292, 101608, 103927, 106241, 108560, 110875, 113193, 115508, 117827, 120144, 122460, 124777, 127094, 129411, 131728, 134045, 136360]
    hit2 = 6


class 技能23(主动技能):
    名称 = "启示录：末日救赎"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4025, 8055]
    无色消耗 = 15
    data0 = [0, 62447, 76930, 91410, 105889, 120371, 134852, 149333, 163813, 178294, 192774, 207255, 221735, 236216, 250698, 265178, 279657, 294140, 308620, 323102, 337583, 352062, 366544, 381024, 395506, 409987, 424467, 438947, 453429, 467910, 482389, 496872, 511351, 525831, 540312, 554793, 569274, 583755, 598236, 612716, 627197, 641678, 656158, 670641, 685120, 699600, 714082, 728563, 743043, 757524, 772005]
    hit0 = 1
    data1 = [0, 17841, 21979, 26115, 30254, 34391, 38527, 42664, 46804, 50942, 55078, 59216, 63351, 67490, 71627, 75765, 79901, 84040, 88177, 92313, 96452, 100589, 104727, 108864, 113002, 117137, 121276, 125413, 129550, 133687, 137825, 141964, 146099, 150238, 154374, 158513, 162650, 166787, 170923, 175061, 179199, 183336, 187474, 191610, 195748, 199885, 204023, 208160, 212298, 216434, 220572]
    hit1 = 7
    data2 = [0, 249793, 307715, 365638, 423561, 481484, 539408, 597331, 655253, 713178, 771100, 829023, 886947, 944868, 1002791, 1060715, 1118637, 1176561, 1234484, 1292408, 1350330, 1408254, 1466177, 1524100, 1582022, 1639945, 1697868, 1755791, 1813715, 1871638, 1929561, 1987484, 2045407, 2103330, 2161252, 2219175, 2277099, 2335022, 2392944, 2450869, 2508792, 2566714, 2624637, 2682561, 2740483, 2798406, 2856329, 2914252, 2972176, 3030099, 3088021]
    hit2 = 1
    data3 = [0, 26763, 32969, 39175, 45382, 51587, 57793, 63999, 70205, 76411, 82618, 88824, 95028, 101236, 107442, 113647, 119854, 126061, 132265, 138472, 144677, 150884, 157091, 163296, 169501, 175707, 181914, 188120, 194326, 200533, 206738, 212943, 219151, 225356, 231562, 237769, 243974, 250180, 256387, 262592, 268799, 275005, 281211, 287417, 293623, 299829, 306034, 312241, 318447, 324652, 330858]
    hit3 = 7


class 技能24(主动技能):
    名称 = '基本攻击'
    备注 = '一轮'
    是否主动 = 0
    关联技能 = ['无']
    所在等级 = 1
    等级上限 = 1
    等级精通 = 1
    学习间隔 = 1
    CD = 1  # 也没有CD，不知道为什么原来有
    # 163.0%+182.0%+446.0% 三段平x
    data0 = [0, (163.0+182.0+446.0)*1.062]
    hit0 = 1
    TP成长 = 0.10
    TP上限 = 5
    # 以下部分是原有的
    # 三觉后平x组成为3段平x(三觉前4段总伤害不变)+最后一击的小型神光喷涌；小型神光喷涌的单段伤害是神光喷涌单段的10%；共5段
    hit1 = 5
    data0 = [0, 0]

    def 等效百分比(self, **argv):
        char: Character = argv.get('char', {})
        self.data1 = [0, char.get_skill_by_name(
            "神光喷涌").小型喷涌神光攻击力()/char.get_skill_by_name("基础精通").加成倍率('')]
        return super().等效百分比(**argv)


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'paladin'
        self.名称 = '皓曦·帕拉丁'
        self.角色 = '守护者'
        self.角色类型 = '输出'
        self.职业 = '帕拉丁'
        self.武器选项 = ['钝器']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '钝器'
        self.防具类型 = '板甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 1.89

        super().__init__(equVersion)
